package com.github.cakin.shiro.chapter12.service;

import com.github.cakin.shiro.chapter12.dao.RoleDao;
import com.github.cakin.shiro.chapter12.entity.Role;

/**
 * @className: RoleServiceImpl
 * @description: 角色服务实现类
 * @date: 2020/5/19
 * @author: cakin
 */
public class RoleServiceImpl implements RoleService {
    /**
     * roleDao 角色数据方法
     */
    private RoleDao roleDao;

    public RoleDao getRoleDao() {
        return roleDao;
    }

    public void setRoleDao(RoleDao roleDao) {
        this.roleDao = roleDao;
    }
    /**
     * 功能描述：创建角色
     *
     * @param role 角色
     * @return Role 角色
     * @author cakin
     * @date 2020/5/19
     */
    public Role createRole(Role role) {
        return roleDao.createRole(role);
    }

    /**
     * 功能描述：删除角色
     *
     * @param roleId 角色id
     * @author cakin
     * @date 2020/5/19
     */
    public void deleteRole(Long roleId) {
        roleDao.deleteRole(roleId);
    }

    /**
     * 功能描述：添加角色-权限之间关系
     *
     * @param roleId 角色id
     * @param permissionIds 权限id列表
     * @author cakin
     * @date 2020/5/19
     */
    public void correlationPermissions(Long roleId, Long... permissionIds) {
        roleDao.correlationPermissions(roleId, permissionIds);
    }

    /**
     * 功能描述：移除角色-权限之间关系
     *
     * @param roleId 角色id
     * @param permissionIds 权限id列表
     * @author cakin
     * @date 2020/5/19
     * @description:
     */
    public void uncorrelationPermissions(Long roleId, Long... permissionIds) {
        roleDao.uncorrelationPermissions(roleId, permissionIds);
    }

}
